package cn.iocoder.yudao.module.crossborder.srm.enums;

import cn.iocoder.yudao.framework.common.exception.ErrorCode;

/**
 * CrossBorder SRM 错误码枚举类
 *
 * crossborder srm 系统，使用 1-029-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== 供应商管理相关 1-029-001-000 ============
    ErrorCode SUPPLIER_NOT_EXISTS = new ErrorCode(1_029_001_000, "供应商不存在");
    ErrorCode SUPPLIER_ALREADY_EXISTS = new ErrorCode(1_029_001_001, "供应商已存在");
    ErrorCode SUPPLIER_STATUS_INVALID = new ErrorCode(1_029_001_002, "供应商状态无效");
    ErrorCode SUPPLIER_QUALIFICATION_INVALID = new ErrorCode(1_029_001_003, "供应商资质无效");

    // ========== 采购管理相关 1-029-002-000 ============
    ErrorCode PURCHASE_ORDER_NOT_EXISTS = new ErrorCode(1_029_002_000, "采购订单不存在");
    ErrorCode PURCHASE_ORDER_STATUS_INVALID = new ErrorCode(1_029_002_001, "采购订单状态无效");
    ErrorCode PURCHASE_PLAN_NOT_EXISTS = new ErrorCode(1_029_002_002, "采购计划不存在");
    ErrorCode PURCHASE_REQUEST_NOT_EXISTS = new ErrorCode(1_029_002_003, "采购申请不存在");

    // ========== 合同管理相关 1-029-003-000 ============
    ErrorCode CONTRACT_NOT_EXISTS = new ErrorCode(1_029_003_000, "合同不存在");
    ErrorCode CONTRACT_STATUS_INVALID = new ErrorCode(1_029_003_001, "合同状态无效");
    ErrorCode CONTRACT_EXPIRED = new ErrorCode(1_029_003_002, "合同已过期");
    ErrorCode CONTRACT_AMOUNT_EXCEEDED = new ErrorCode(1_029_003_003, "合同金额超限");

    // ========== 质量管理相关 1-029-004-000 ============
    ErrorCode QUALITY_INSPECTION_NOT_EXISTS = new ErrorCode(1_029_004_000, "质检记录不存在");
    ErrorCode QUALITY_STANDARD_NOT_EXISTS = new ErrorCode(1_029_004_001, "质量标准不存在");
    ErrorCode QUALITY_INSPECTION_FAILED = new ErrorCode(1_029_004_002, "质检不合格");
    ErrorCode QUALITY_CERTIFICATE_INVALID = new ErrorCode(1_029_004_003, "质量证书无效");

    // ========== 供应商评估相关 1-029-005-000 ============
    ErrorCode SUPPLIER_EVALUATION_NOT_EXISTS = new ErrorCode(1_029_005_000, "供应商评估记录不存在");
    ErrorCode EVALUATION_CRITERIA_NOT_EXISTS = new ErrorCode(1_029_005_001, "评估标准不存在");
    ErrorCode EVALUATION_SCORE_INVALID = new ErrorCode(1_029_005_002, "评估分数无效");
    ErrorCode EVALUATION_PERIOD_INVALID = new ErrorCode(1_029_005_003, "评估周期无效");

    // ========== 供应商认证相关 1-029-006-000 ============
    ErrorCode SUPPLIER_CERTIFICATION_NOT_EXISTS = new ErrorCode(1_029_006_000, "供应商认证记录不存在");
    ErrorCode CERTIFICATION_EXPIRED = new ErrorCode(1_029_006_001, "认证已过期");
    ErrorCode CERTIFICATION_DOCUMENT_INVALID = new ErrorCode(1_029_006_002, "认证文档无效");
    ErrorCode CERTIFICATION_AUDIT_FAILED = new ErrorCode(1_029_006_003, "认证审核失败");

}
